package com.qianyu.core.entity.bean;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qianyu.core.entity.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;

/**
* 回收订单
* @TableName tb_qq_recycle_order
*/
@Data
@ApiModel(value = "回收订单")
@TableName("tb_qq_recycle_order")
@AllArgsConstructor
@NoArgsConstructor
public class QqRecycleOrder extends BaseBean {

    /**
    * 代理商id
    */
    @NotNull(message="[代理商id]不能为空")
    @ApiModelProperty("代理商id")
    private Long agencyId;

    /**
     * 代理人名称
     */
    @TableField(exist = false)
    @ApiModelProperty("代理人名称")
    private String agencyName;

    /**
    * 用户id
    */
    @NotNull(message="[用户id]不能为空")
    @ApiModelProperty("用户id")
    private Long userId;

    /**
     * 用户名称
     */
    @TableField(exist = false)
    @ApiModelProperty("用户名称")
    private String nickname;

    /**
    * 回收账号数量
    */
    @NotNull(message="[回收账号数量]不能为空")
    @ApiModelProperty("回收账号数量")
    private Integer num;
    /**
    * 回收单号
    */
    @NotBlank(message="[回收单号]不能为空")
    @Size(max= 43,message="编码长度不能超过43")
    @ApiModelProperty("回收单号")
    private String sn;
    /**
    * 订单状态:0=已提交待代理商审核,1=代理商驳回,2=代理商通过待管理员处理,3=管理员驳回,4=管理员审核通过
    */
    @NotNull(message="[订单状态:0=已提交待代理商审核,1=代理商驳回,2=代理商通过待管理员处理,3=管理员驳回,4=管理员审核通过]不能为空")
    @ApiModelProperty("订单状态:0=已提交待代理商审核,1=代理商驳回,2=代理商通过待管理员处理,3=管理员驳回,4=管理员审核通过")
    private Integer status;
    /**
    * 代理审核语
    */
    @NotBlank(message="[代理审核语]不能为空")
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("代理审核语")
    private String agencyAuditText;
    /**
    * 代理商审核时间
    */
    @NotNull(message="[代理商审核时间]不能为空")
    @ApiModelProperty("代理商审核时间")
    private Integer agencyAuditTime;
    /**
    * 管理审核语
    */
    @NotBlank(message="[管理审核语]不能为空")
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("管理审核语")
    private String adminAuditText;
    /**
    * 管理审核时间
    */
    @NotNull(message="[管理审核时间]不能为空")
    @ApiModelProperty("管理审核时间")
    private Integer adminAuditTime;
    /**
    * 原有qb数量
    */
    @NotNull(message="[原有qb数量]不能为空")
    @ApiModelProperty("原有qb数量")
    private BigDecimal originQnum;
    /**
    * 现有qb数量
    */
    @NotNull(message="[现有qb数量]不能为空")
    @ApiModelProperty("现有qb数量")
    private BigDecimal nowQnum;
    /**
    * 有效qb数量
    */
    @NotNull(message="[有效qb数量]不能为空")
    @ApiModelProperty("有效qb数量")
    private BigDecimal qnum;
    /**
    * 退款金额
    */
    @NotNull(message="[退款金额]不能为空")
    @ApiModelProperty("退款金额")
    private BigDecimal refundPrice;

    /**
    * 汇率备注
    */
    @NotBlank(message="[汇率备注]不能为空")
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("汇率备注")
    private String rateUsdt;

    /**
     * 回收qq
     */
    @ApiModelProperty("回收qq")
    private String qqAccounts;
}
